Tag: swing

如何将JMenuBar移动到Mac OS X上的屏幕菜单栏?

当我将JMenuBar移动到Mac OS X上的屏幕菜单栏时,它会留下一些空白区域,菜单会出现在我的窗口中; 我需要删除那个空间。 我在用 System.setProperty(“apple.laf.useScreenMenuBar”, “true”) 将我的JMenuBar移动到屏幕菜单栏。 我的朋友使用Mac报告,如果我没有设置该属性,这将留下一些丑陋的垂直空间,菜单将驻留在该空间中。 解决此问题的最佳方法是什么? 编辑:这是我的来源的一个例子: public static void main(String[] args) { System.setProperty(“apple.laf.useScreenMenuBar”, “true”); System.setProperty(“com.apple.mrj.application.apple.menu.about.name”, “Name”); JFrame frame = new JFrame(“Gabby”); final DesktopMain dm = new DesktopMain(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(dm); frame.setSize(160, 144); frame.setLocationRelativeTo(null); frame.setIgnoreRepaint(true); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu(“File”); menuBar.add(fileMenu); // Populating the menu bar code […]

简单的弹出式Java表单,至少包含两个字段

当用户单击一个按钮时,我想显示一个至少应包含两个JTextField和两个JLabel的弹出窗体,因此不可能使用JOptionPane.showInputDialog 。

绘制一个在下一个油漆中不会消失的矩形

我试图创建一个绘制矩形的JPanel。 小组需要绘制很多矩形,但它们不会移动。 我的问题的一个解决方案是创建一个包含我已经创建的所有矩形的列表,并在每次调用“Paint”时绘制它们。 但是有很多矩形,它会减慢计算机的速度。 我也尝试使用重绘(x,y,高度,宽度)来掠夺新矩形的空间,但它不起作用。 (JPanel不断擦除以前的矩形。)在排序中,我需要绘制每个油漆都不会消失的矩形。 或者是一种不会擦除先前绘制的绘画方法,或者不会绘制背景。 这是我的JPanel类的一部分: class MyPanel extends JPanel{ private int x, y, size; private Color c; public void DrawRect(int x, int y, int size, Color c){ this.x = x; this.y = y; this.size = size; this.c = c; repaint(); } @Override public void paint(Graphics g) { g.setColor(c); g.fillRect(x, y, size, size); […]

浏览图像文件并使用Java Swing显示它

我的问题是,在单击“ 浏览”按钮后,它会显示要选择的目录中的所有文件,然后所选图像将正确显示在GUI中。 但是当我第二次单击“浏览”按钮时,它仅显示旧图像而不是显示新图像。 请帮帮我。 作为参考,我上传了UI。 package GUI; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Graphics2D; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JLabel; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.GroupLayout; import javax.swing.GroupLayout.Alignment; @SuppressWarnings(“serial”) public class MainAppFrame extends JFrame […]

使用Timer而不使用任何按钮从另一个JFrame调用

使用Timer在没有任何按钮的情况下从另一个调用一个JFrame:时间减少然后打开另一个没有任何按钮的JFrame。 请帮忙。 用于netbeans

进度条Java

我正在使用JProgressBar来显示进度。 但是,如何将progressBar显示为从0加载到100? 我从互联网及其工作中获得了代码,除了progressBar没有加载。 码 progressFrame = new JFrame(); // frame to display progress bar progressBar = new JProgressBar(0,100); progressBar.setValue(0); progressBar.setStringPainted(true); progressFrame.add(progressBar); new SwingWorker() { protected Void doInBackground() throws SQLException, ClassNotFoundException { Class.forName(“oracle.jdbc.driver.OracleDriver”); progressBar.setValue(0); frame.setEnabled(false); // frame = main frame //tableclass creates a JTable with data from database tableclass = new TheDatabaseTable(deptName);//it takes time to create […]

JButtons中的单词换行

是否可以在JButtons中实现文本的自动换行? 我在运行时创建的动态按钮很少。 我想在按钮上放置自动换行function,这样我就可以在按钮上看到更好的测试。 有可能吗?

java – 如何在点击时动态添加swing组件给gui?

我想要做的是向电子邮件添加附件的类似原则,您可以单击一个按钮,打开一个新的浏览框,增加您可以拥有的单独附件的数量。 我是新人,所以如果有人能指出我的榜样?

为什么添加到框架的第一个面板消失了?

下面是将两个面板添加到框架的示例。 仅出现一个面板(第2个红色面板)。 为什么第一个面板消失了? import java.awt.*; import javax.swing.*; import javax.swing.border.EmptyBorder; public class DisappearingPanelInFrame { DisappearingPanelInFrame() { JFrame f = new JFrame(this.getClass().getSimpleName()); f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); f.add(new ColoredPanel(Color.GREEN)); f.add(new ColoredPanel(Color.RED)); f.pack(); f.setVisible(true); } public static void main(String[] args) { Runnable r = new Runnable() { @Override public void run() { new DisappearingPanelInFrame(); } }; SwingUtilities.invokeLater(r); } } class ColoredPanel extends […]

如何将JTable单元格输入标记为无效?

如果我使用JTable并在其模型上指定列的classtype,如下所示: DefaultTableModel model = new DefaultTableModel(columnNames, 100) { @Override public Class getColumnClass(int columnIndex) { return Integer.class; }}; 然后,每当用户尝试在表格中输入double值时,Swing会自动拒绝输入并将单元格的轮廓设置为红色。 当某人输入单元格的“负数或0”输入时,我希望发生相同的效果。 我有这个: @Override public void setValueAt(Object val, int rowIndex, int columnIndex) { if (val instanceof Number && ((Number) val).doubleValue() > 0) { super.setValueAt(val, rowIndex, columnIndex); } } } 这可以防止单元格接受任何非正值,但不会将颜色设置为红色并使单元格保持可编辑状态。 我试着调查JTable默认情况下是如何做出拒绝的,但我似乎无法找到它。 如何拒绝非正输入与拒绝非整数输入相同? 谢谢