Tag: swing

Repaint()不会清除帧

public class Graphics2DTest extends JPanel implements ActionListener{ private Timer time = new Timer(5,(ActionListener) this); int x = 0,y = 0; public void paintComponent(Graphics g){ Graphics2D gui = (Graphics2D) g; Rectangle2D rectangle = new Rectangle2D.Double(x,y,100,150); gui.setPaint(Color.GREEN); gui.fill(rectangle); time.start(); } public void actionPerformed(ActionEvent arg0) { x++; y++; repaint(); } } 问题是repaint()应该清除框架并在该位置绘制矩形,但先前绘制的矩形仍然存在。 那么,怎么做呢? 请解释一下你的答案。

Java从内部JPanel返回ShowOptionDialog

我用了 JOptionPane.showOptionDialog(NULL, 新的MyPanel(), “import”, JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null,new Object [] {},null); 因为我不想要OptionDialog提供的默认按钮,我在MyPanel中创建了我的按钮MyPanel extends JPanel所以现在我的问题是如何从ActionEvent触发的MyPanel关闭那个OptionDialog? 只要该对话框消失,我不关心返回值。 我意识到这可能不是最好的设计,但我已经做了很多次这样的事情,所以我更喜欢一个修复,尽可能少地改变结构。 谢谢!

如何使模态JDialog在显示后立即执行代码

好的,我有一个对象列表。 我需要显示一个Modal JDialog,然后将它传递给对象列表并让它对它们起作用。 问题是当我调用.show()时它会劫持EDT。 理想情况是能够将列表传递给构造函数,然后在显示对话框时,执行相关函数。 在C#中我会使用Loaded事件,但如何做到这一点JDialog逃脱了我。 思考?

Java字符串replaceAll()

我一直在想,例如: JTextPane chatTextArea = new JTextPane(); s.replaceAll(“:\\)”, emoticon()); public String emoticon(){ chatTextArea.insertIcon(new ImageIcon(ChatFrame.class.getResource(“/smile.png”))); return “`”; } 可以放一张图片和“`”到处“:)”被找到。 当我像这样运行它时如果s包含“:)”那么整个s只会被图标替换掉。 有办法吗?

在我的Jar for Swing应用程序中包含JRE

可能重复: 如何使用特定的JRE交付我的Java应用程序? 我在Swing中开发了Java桌面应用程序并为此创建了jar。 在我的操作系统(Windows)中双击它可以正常工作。 现在我想在其他系统(不同的操作系统)中运行相同的jar文件,这些系统没有任何Java相关软件。 如何在我的Java应用程序中包含JRE,使我的应用程序在任何操作系统中运行?

在Java中创建更高级的元素:Swing或图像

使用Swing在Java中创建GUI时,应该如何创建更高级的“元素”? 例如,考虑: 这可以使用~10张图像完成,具体取决于当前页面或状态。 我也确信可以以编程方式执行此操作,但是,考虑到我过去使用Swing的经验,我也确定它会为相对简单的事情提供大量代码 。 特别是考虑到这可以在具有最多~40行代码的CSS中完成。 在这种情况下, 是否有任何替代方法来创建这个“元素”? 如果不; 什么是首选:图像或摇摆?

扩展JFrame总是一个坏主意吗?

在开发Java Swing GUI时,扩展JFrame总是一个坏主意吗? 那么JPanel或其他JComponents呢? 还有什么让它变坏?

我想通过单击添加按钮动态添加JLabel和文本框

当我动态创建文本和标签框时,它应该采用“Textbox:Labelbox”的格式,然后当我再次点击添加按钮时,相同的模式应该在下一行重复,依此类推……我应该使用哪种布局以及如何使用? 这是我使用的代码 if(field_name.getText().equals(“”)){ error.setForeground(Color.red); error.setText(“Enter the Field name first”); } else { JLabel l = new JLabel(field_name.getText(), JLabel.RIGHT); JTextField textField = new JTextField(); Dimension dim = new Dimension(20,30); textField.setPreferredSize(dim); field_layer.add(l); field_layer.add(textField); SpringUtilities.makeCompactGrid(field_layer, numPairs, 2, //rows, cols 6, 6, //initX, initY 6, 6); //xPad, yPad numPairs++; field_layer.invalidate(); this.pack(); }

使用DefaultListModel从JList中删除元素时出错

我有一个标准的JList ,将在程序运行时更改。 为了让生活更轻松,我创建了一个DefaultListModel并将其分配给JList : JList CharList = new JList(); DefaultListModel CharListModel = new DefaultListModel(); CharList.setModel(CharListModel); 我能够将文件加载到列表中,稍后我可以将项添加到列表中,如下所示: File ChFile = new File (CharListFile); FileReader freeder = new FileReader (ChFile); BufferedReader breeder = new BufferedReader(freeder); String line; while((line=breeder.readLine())!=null) { int pos = CharList.getModel().getSize(); CharListModel.add(pos, line); } … … //and to add items.. int pos = CharList.getModel().getSize(); CharListModel.add(pos, […]

Java ImageIcon / Icon和JLabel无法正常工作

为什么我的代码没有显示我插入的图像? 没有编译错误或语法错误,但为什么会这样? import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.SwingConstants; public class FirstUI extends JFrame{ private JLabel firstlabel; private JLabel secondLabel; private JLabel pie; public FirstUI(){ super(“Tittle”); setLayout(new FlowLayout()); firstlabel = new JLabel(“Hello World”); firstlabel.setToolTipText(“Hello World”); String path = “pie.png”; Icon pie = new ImageIcon(path); secondLabel = new JLabel(“Text with icon”,pie,SwingConstants.LEFT); […]