Tag: jframe

MouseEvent在JScrollPane中丢失了

这是我用来显示我在另一个项目中遇到的问题的代码。 如果我使用JScrollPane作为panel2的包装器,我没有得到任何这样的行。 为什么? 我想点击JscrollPane并打印事件如下。 java.awt.event.MouseEvent[MOUSE_CLICKED,(800,469),absolute(808,499),button=1,modifiers=Button1,clickCount=1] on javax.swing.JPanel[,0,0,934×612,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.LineBorder@cc0e01,flags=9,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=880,height=630]] 如果现在我改变了 panel1.add(pane); 至 panel1.add(panel2); 然后打印上面的消息。 public class LostMouseEvent { public static void main(String[] args) { new LostMouseEvent(); } public LostMouseEvent() { EventQueue.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JScrollPane […]

Java:单帧与多帧

想想经典的安装过程,你有一个“下一步”按钮,当你点击它时,窗口的内容会发生变化。 为了表示这种情况,我想到了两种可能的解决方案 – 当单击“next”时,销毁当前的JFrame并创建一个新的JFrame,可能会传递给他的构造函数有用的信息(例如实际窗口大小,用户在当前帧中插入的内容,……) – 单击“下一步”时,从当前JFrame中删除所有组件,并根据需要添加新组件 第一个解决方案在OOprogramming方面看起来更好,因为我可以为不同的帧保留单独的类,我可以避免使用大量方法清空帧并重新填充它。 然而,第一个解决方案听起来有点“脏”,我应该将大量参数传递给新帧。 为了表示这种情况,我会选择第二种解决方案。 现在想想一个带有“选项”组件的菜单:在这种情况下,我会在点击“选项”时创建一个新的JFrame,这样我就可以用选项来填充它。 这是正确的解决方案吗? 有没有办法让我总能知道哪一个是最好的解决方案? 有没有我没想过的解决方案?

尝试在JFrame中显示URL图像

尝试在JFrame窗口中显示URL图像。 如果这可以正常工作,程序运行时,应该打开一个显示图像的窗口。 尝试尝试URL和硬盘路径。 import java.awt.image.BufferedImage; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import javax.swing.*; class ImageInFrame { public static void main(String[] args) throws IOException { String path = “http://chart.finance.yahoo.com/z?s=GOOG&t=6m&q=l”; URL url = new URL(path); BufferedImage image = ImageIO.read(url); JLabel label = new JLabel(new ImageIcon(image)); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(label); f.pack(); f.setLocation(200,200); f.setVisible(true); } } […]

Swing:将光标更改为等待光标

另请参阅Java Swing GUI沙漏 。 但是,提供的答案似乎不起作用。 我有以下代码: private void loadFileMenuItemActionPerformed(java.awt.event.ActionEvent evt) { int returnVal = fileChoser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { try { this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); // do stuff } finally { this.setCursor(Cursor.getDefaultCursor()); } } } 当用户在菜单栏中选择相应条目时调用此方法。 但是光标永远不会改变。 请注意,加载文件需要一个文件,因此应该可以看到光标的变化。 我究竟做错了什么? 编辑: this是顶级JFrame。 编辑2: 将解决方案移至单独的答案

透明的JFrame背景

是否可以制作具有透明背景并在其上绘制图像的JFrame,以便只有图像可见而没有边框或背景?

为所有组件Java设置相同的字体

我想为JPanel所有组件设置一个特定的字体,但我更喜欢这个问题仍然更加通用,而不仅限于JPanel。 如何将字体设置为容器中的组件列表(JFrame或JPanel)?

如何将MouseListener添加到框架

我想添加一个mouselistener到mt JFrame框架但是当我做frame.addMouseListener(this)时我得到一个错误,我不能在静态方法中使用它 我正在创建一个应用程序来检测鼠标点击,然后在int点击中显示它 码 import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JTextField; public class numberOfClicks implements MouseListener{ static int clicks = 0; @Override public void mouseClicked(MouseEvent e) { clicks++; } static JTextField text = new JTextField(); static String string = clicks+” Clicks”; static JFrame frame […]

用Java实现自动完成 – 我做得对吗?

算法 开始 输入城市名称 – 部分或完整 如果用户按Enter键,则从JTextField获取文本 开始蛮力搜索。 如果找到匹配项,则将它们放在Vector并将其放入JList 如果未找到匹配项,请在Vector添加“找不到匹配项” String 向包含结果的用户显示JWindow 停止 码: package test; import javax.swing.*; import java.awt.Dimension; import java.awt.event.*; import java.util.Vector; public class AutoCompleteTest extends JFrame{ JTextField city = new JTextField(10); String enteredName = null; String[] cities = {“new jersey”,”new hampshire”, “sussex”,”essex”,”london”,”delhi”,”new york”}; JList list = new JList(); JScrollPane pane = new JScrollPane(); […]

Java将ImageIcon添加到JLabel

我正在尝试使用Java制作一个非常基本的游戏,但我在JFrame上显示图像时遇到问题。 它曾经为我工作过,现在不是,我看不出我做错了什么。 我已经尝试打印当前的工作目录并更改我的图像匹配的位置。 问题可能不是获取图像,因为我的(文件查找器或文件阅读器或类似的东西)可以毫无问题地找到它,但我无法正确地将它( ImageIcon )添加到JLabel ,或者添加到JFrame 。 这是我的代码…… JFrame frame = new JFrame(“no image”); ImageIcon image = new ImageIcon(“C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png”); JLabel imagelabel = new JLabel(image); frame.add(imagelabel); JFrame已设置为setVisible(true)和pack() 。 有人可以帮我理解出了什么问题。

按YES之前确认退出Java程序

private void windowClosing(java.awt.event.WindowEvent evt) { int confirmed = JOptionPane.showConfirmDialog(null, “Exit Program?”,”EXIT”,JOptionPane.YES_NO_OPTION); if(confirmed == JOptionPane.YES_OPTION) { dispose(); } } 我想通过按确认关闭窗口按钮关闭程序…但是当我选择“否”返回我的Jframe时,它仍然可以帮助我退出程序???