Tag: jframe

如何从JFrame中删除最大化和最小化按钮?

我需要从JFrame删除最大化和最小化按钮。 请建议如何做到这一点。

如何使JFrame按钮在Netbeans中打开另一个JFrame类?

我有一个JFrame类,它是在Netbeans的设计部分制作的。 我正在尝试创建一个登录按钮,关闭当前帧并打开另一个,无论如何我能做到吗? 我努力了: JFrame frame = new JFrame(); 但我希望它在设计部分可以编辑!

如何将KeyListener与JFrame一起使用?

所以,我试图使用KeyEvent ( KeyListener )进行矩形移动,每当我尝试按键时,矩形都不会移动。 绘制矩形,但每当我按下right键时,都没有任何反应。 我有两个类,一个是带有keyEvents和框架的主类,另一个是绘制矩形并保存移动矩形的函数。 这是我的代码: import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; public class mainFrame extends JFrame implements KeyListener{ mainDraw Draw = new mainDraw(); public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); if(key == KeyEvent.VK_D){ Draw.moveRight(); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) {} public mainFrame() { addKeyListener(this); […]

JFrame不提供任何组件

我使用以下代码创建一个非常简单的JFrame ,但由于某种原因它不显示任何组件,只是一个空白框架。 为什么会这样? 我创建了很多次框架,我无法弄清楚出了什么问题。 代码是: Main(){ JFrame frame = new JFrame(“Colorizer | By: NonameSL”); frame.setSize(400,200); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); frame.setContentPane(panel); textField=new JTextField(“Enter your name!”); textField.setBounds(0,0,40,200); textField.setVisible(true); frame.getContentPane().add(textField); button=new JButton(“Go!”); button.setBounds(0, 200, 40, 200); button.setVisible(true); frame.getContentPane().add(button); rectangle=new RecShape(Color.WHITE); rectangle.setBounds(0,40,400,160); rectangle.setVisible(false); frame.getContentPane().add(rectangle); Main.frame=frame; registerButton(); } RecShape类是我创建的一个类,它只是在屏幕上创建一个矩形形状。 哪里不对?

在JFrame中的背景图像

这个问题已被问到很多,但到处都是答案不足。 通过扩展JPanel并覆盖paintComponent,我可以得到一个JFrame来显示背景图像,如下所示: class BackgroundPanel extends JPanel { private ImageIcon imageIcon; public BackgroundPanel() { this.imageIcon = Icons.getIcon(“foo”); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(imageIcon.getImage(), 0,0,imageIcon.getIconWidth(),imageIcon.getIconHeight(),this); } } 但是现在,如何在该背景之上添加组件? 我走的时候 JFrame w = new JFrame() ; Container cp = w.getContentPane(); cp.setLayout(null); BackgroundPanel bg = new BackgroundPanel(); cp.add(bg); JPanel b = new JPanel(); b.setSize(new Dimension(30, 40)); […]

更改JFrame标题

这段代码编译,我只是无法在标题栏上更改名称。 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class VolumeCalculator extends JFrame implements ActionListener { private JTabbedPane jtabbedPane; private JPanel options; JTextField poolLengthText, poolWidthText, poolDepthText, poolVolumeText, hotTub, hotTubLengthText, hotTubWidthText, hotTubDepthText, hotTubVolumeText, temp, results, myTitle; JTextArea labelTubStatus; public VolumeCalculator() { setSize(400, 250); […]

无法从另一个JFrame获取变量信息

我正在尝试创建类似于JOptionPane的东西,但是会从输入中获得多个(3)个变量。 所以我想我会使用一个单独的JFrame,它有三个textFields。 我使用Get和Set等访问方法将变量从一个类获取到另一个类,但我得到一个空指针excpetion。 我想我会以错误的方式获取变量,并且很难找到可行的解决方案。 public class Instructor() { public void Insert(JPanel panel) { panel.removeAll(); panel.updateUI(); //ResultSet resultSet = null; String bNum = “”; String fName = “”; String lName = “”; InsertFrame insert = new InsertFrame(); insert.setVisible(true); bNum = insert.getBNumber(); fName = insert.getFirstName(); lName = insert.getLastName(); /* String bNum = JOptionPane.showInputDialog(“Enter BNumber”); String fName = […]

绘制背景图像

我绘制的图像是我的背景图像,一切都很好但是当我试图在框架中添加一些JButton时,整个业务出错了我绘制的图片消失了,我看到了原始背景。 图片看起来像这样: public void paint(Graphics g){ g.drawImage(bg, 0, 0, null); } 我想我的问题是paint方法的问题,需要提一下我正在扩展JFrame类。 编辑:这里有一些图片来展示我的意思。 它首先绘制我的图像: 当我将鼠标移动到我应该绘制的按钮的位置时,这就是我得到的:

如何将图像添加到JFrame标题栏?

我想在javax.swing.JFrame标题栏中添加一个图像(小图标)。 我该怎么做?

在thread.sleep()之前JFrame没有更新

我正在使用GUI和JFrames / JPanel创建一个棋盘游戏,您可以在其中与计算机对战。 我有一个名为showPieces()的方法,它通过更改按钮数组(以网格格式布局)上的图像图标来更新电路板GUI。 更新图标后,使用revalidate()和repaint()方法更新GUI。 showPieces()方法有一个参数,每次调用时都需要传递给它。 我遇到的主要问题是我希望人类进行移动,更新GUI,等待1秒钟,计算机使其移动然后循环直到有人获胜。 我的基本代码如下: do{ human.makeMove(); gui.showPieces(data); try { Thread.sleep(1000); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } computer.makeMove() gui.showPieces(data); }while(playing); 这导致了这样的问题:当人类玩家进行移动时,GUI将冻结一秒钟,然后在延迟之后,两个动作同时进行。 我希望它有意义,但我是Java的新手,可能不得不更多地考虑线程,因为我不太了解它。