我是一个学生,试图弄清楚Java图形的基础知识。我的类创建了一个窗口,每次按下它时都会有一个红色按钮移动。我将窗口的边界设置为720x720,按钮的宽度为50像素。每次按下它,按钮都会转到新的x和y坐标,该坐标介于0和670之间。我的理解是,如果使用参数(670,670,50,50)调用setBounds()方法,那么我的红色按钮将占据窗口的右下角。 不幸的是,即使边界设置为(660,660,50,50),按钮似乎也会移出窗口。 Problem 我已经尝试通过打印坐标中的每个变化来跟踪边界,但这仍然不合理。 import javax.swing.*;
import java.awt.*;
i
我对java非常陌生。我不知道我的框架出了什么问题。我将大小设置为300和200。我看到的是一个又短又胖的棍子状的东西。
下面是我的代码:
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JFrame;
public class BicycleDemo extends JFrame {
/**
* The serialVersionUID.
*/
private static final long serial
所以我在乱搞一个GUI,我想挑战自己去展示一个gif。我最终能够做到这一点,但现在我不能使gif适合整个框架,而不仅仅是一部分。我制作了框架,所以您不能更改大小和显示器相同的大小。
import java.awt.*;
import javax.swing.*;
import java.net.*;
public class gif {
public static void main (String[] args) throws MalformedURLException {
URL url = new URL("http://stream1.gifsoup.com/vie
当我用AUTO_RESIZE_OFF和AUTO_RESIZE_ALL_COLUMNS调用AUTO_RESIZE_OFF时,当我调整窗口的大小时,会得到描述的预期结果。
当我用AUTO_RESIZE_LAST_COLUMN调用它时,我得到的行为与我指定的AUTO_RESIZE_ALL_COLUMNS完全一样。
为什么?
以下是MCV示例:
import javax.swing.*;
import java.awt.*;
public class ScrollableJTable extends JPanel {
public ScrollableJTable() {
se
我有一个JScrollPane (两个滚动条都是可选的(应该不会造成问题)在ScrollPane中有一个带有BoxLayout和X_Axis - align的面板。(它包含具有固定(首选)大小的任意数量的面板。问题是ScrollPane会比需要的要宽得多(水平滚动条滚动“灰屏”)。有了Y_Axis align,它就可以正常工作了。相关代码:
final JPanel forSpecific = new JPanel();
final JScrollPane scrollSpecific = new JScrollPane(forSpecific,
Scroll
我使用myEclipse Matisse创建了java图形用户界面。当我的屏幕分辨率为1024x768时,它工作得很好,但当我更改分辨率时,我的GUI就不能正常工作。我希望我的图形用户界面窗口应该根据屏幕分辨率重新调整大小,我正在扩展JFrame来创建主窗口。
public class MyClass extends JFrame {
//I am putting some controls here.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,
我对Java很陌生,我在使用paintComponent方法绘制椭圆时遇到了问题。我发现了许多类似的线索,但没有一个灵魂有效。我的代码:
RacerMain.java
import javax.swing.*;
import java.awt.*;
public class RacerMain {
public static void main (String[]args) {
//MainFrame mf = new MainFrame();
JFrame jframe = new JFrame();
JPanel jpanel =
我试图缩放一个图像,以使它符合JLabel的大小,我遇到了这个错误。
at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
at java.awt.Image.getScaledInstance(Unknown Source)
at ma.ensao.Practice.main(Practice.java:49)
下面是我使用的全部代码
import java.util.
我试图限制JFrame的最大大小。但是,只在Linux下工作。在Windows下,JFrame可以自由调整大小。代码非常简单:
public class TestMaxSize extends javax.swing.JFrame {
public TestMaxSize() {
setSize(new java.awt.Dimension(400, 400));
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMaximizedBounds(
当我添加BorderLayout或FlowLayout时,我无法在Canvas上绘制任何类型的图形。虽然它与GridLayout工作良好,但界面不太好。即使我尝试使用setBounds,我也得到了与边界和流布局相同的结果。有人能给我一些关于这个问题的建议吗?
//Why does the following code not work with FlowLayout??
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Mycanvas1 extends Canvas
{
int flag=0;
我想让我绘制的jpanel的线条在我调整jframe的大小时不会改变。我只想让它保持在原来的位置,如果我将jframe的大小调整到更小,那么这行的一部分应该被隐藏,而不是被调整大小的行?
import javax.swing.JFrame;
import java.awt.*;
public class GUIIntroduction {
public static void main(String[] args){
DrawPanel panel = new DrawPanel();
JFrame app = new JFrame();
可以为JFrame设置固定宽度吗?至少下面的代码不起作用:
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JFrame;
public final class Main {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {