Tag: jframe

Java GUI:关于getContentPane()方法和内容

在这段代码中: JLabel emptyLabel = new JLabel(“”); emptyLabel.setPreferredSize(new Dimension(175, 100)); frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 我可以看到它生成一个新标签并将其添加到JFrame对象frame 。 但我想了解getContentPane()做了什么,为什么需要它呢? 我读了这个API,但我仍然不明白。

设置JDialog相对于JFrame的位置

有没有办法设置相对于JFrame的对话框位置? 我想将对话框置于包含GUI的框架中,而对话框通常出现在屏幕的中心而不是GUI中。

计时器和JFrame出错

我正在制作一个带有计时器和JFrame的游戏(以及许多其他东西,但只有这两个导致问题),并且在运行下面的段后,我得到了一个奇怪的错误。 至少对于那些在此之前从未使用过这些课程的人来说。 开始执行此操作 private static GameView window; private static Timer time; public static void main(String args[]) { window = new GameView(800,600); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); time = new Timer(); time.schedule( new TimerTask(){ public void run(){GameState.update(); window.paintComponents(null);} },0, 40); } 这称之为: public void paintComponents (Graphics g) { for(Bullet j : GameState.getEnBullets()){ g.drawImage(j.getImage(),j.getX(), j.getY(), null);} for(Enemy j : GameState.getEnemies()){ […]

我的jframe没有显示

我是java初学者 我试图制作我的jframe节目,但事实并非如此 jframe.setVisible(true); 它不起作用

使用组件将jlabel添加到jframe

我有2节课, 我的主类创建了一个框架,我希望另一个类向其添加内容。 一些阅读arroudn告诉我,我应该使用组件来执行此操作,但是当我运行我的代码时,框架是空的。 public static void main(String[] args) { // create frame JFrame frame = new JFrame(); final int FRAME_WIDTH = 800; final int FRAME_HEIGHT = 600; // set frame attributes frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); frame.setTitle(“My Frame”); frame.setVisible(true); Component1 Com = new Component1(); Component add = frame.add(Com); } 我的Component类创建了一个JLabel public class Component1 extends JComponent { public void […]

摆动计时器基本function

我是java平面设计的新手,如果可能的话,我希望你帮我一个简单的例子来帮助我理解JFrames,Timers,SwingControllers和所有这些东西的基本function。 您将如何实施以下案例: 我们有一个内置JPanel的JFrame。 执行开始时,JPanel是白色的,但我们希望它每两秒更改一次颜色: public class MiJFrame extends javax.swing.JFrame { public MiJFrame() { initComponents(); } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MiJFrame().setVisible(true); jPanel1.setBackground(Color.yellow); jPanel1.setBackground(Color.RED); } }); } // Variables declaration – do not modify private static javax.swing.JPanel jPanel1; // End of variables declaration } 首先,我在setBackgroud()方法之间使用了线程对象的sleep方法,但它不起作用,因为它只显示最后一次更改。 你如何在这里使用Timer对象?

在一个简单的文本冒险游戏中集成Swing

我对Java中的一些中间概念相当新。 最近我制作了一款名为DazzleQuest的文本冒险游戏,完全在开发者控制台/终端中运行。 它涉及我的朋友作为角色所以我想向他们展示并通过将命令行的function和控制台的输出转移到由JTextArea组成的简单Swing界面以显示游戏的输出和JTextField来获得Java经验,使用ActionListener来处理来自用户的命令。 我的主要DazzleQuest类包含名为run()和handleCommand() ,我认为我需要与我的Frame类及其子类TextFieldHandler [扩展ActionListener ]进行集成。 总的来说,我想知道整合这些方法和类的最佳方法是什么。 我目前的尝试令人困惑,虽然我对如何使不同的课程和方法进行沟通有基本的把握,但这是暂时的。 对于冗长和缺乏特异性的道歉。 我会分享我的代码但不确定要提供多少和确切的内容。 如果您认为您可以回答我的问题但需要我的例子,请说明。 甚至伪代码作为答案将不胜感激。 谢谢! 理解这一点对我作为程序员的教育非常有帮助。 编辑:这是我完全在开发者控制台中运行的游戏版本的代码的简化示例。 这是我的主要类DazzleQuest : public class DazzleQuest { public void run() { listCommands(); for (;;) { StdOut.println(new StringBuilder(“You are in “).append(currentRoom.getName()).append(“.”).toString()); StdOut.println(new StringBuilder(“You can go to: “).append(currentRoom.listExits()).toString()); StdOut.print(“> “); handleCommand(StdIn.readLine()); StdOut.println(); } public void handleCommand(String line) { String[] words = line.split(” […]

绘制缓冲图像

我试图在缓冲图像上绘图。 我能够在框架上获得图片,但它似乎并没有在图像上绘制。 如果我使用 BufferedImage bufferedImage = new BufferedImage(1280, 800,BufferedImage.TYPE_INT_RGB); 然后它似乎绘制字符串,但我想理想地绘制图像,因为我需要在图像上为项目绘制一些坐标。 任何指导都将受到高度赞赏。 请原谅不好的缩进 import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class drawTest extends JPanel { public void paint(Graphics g) { Image img = createImageWithText(); g.drawImage(img, 20,20,this); } private Image createImageWithText(){ BufferedImage bufferedImage = new […]

我的代码涉及JFrames的错误是什么

它给了我一个错误,说“JFrame类型中的方法setContentPane(Container)不适用于参数(GamePanel)” 这是我的代码: package main; import javax.swing.JFrame; public class Game { public static void main(String[] args){ JFrame window = new JFrame(“Dragon Tales”); window.setContentPane(new GamePanel()); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setResizable(false); } } 我正在完全按照教程,他的屏幕显示没有任何错误。

如何将JButton放在特定位置?

我知道在stackoverflow上我的问题已经有了非常类似的问题,但是他们都没有回答我的问题。 我想把我的JButton放在JAVA的JFrame上的特定位置。 这是我的代码: public class DetectMotion extends JFrame { private JLabel label = null; public DetectMotionExample() { JPanel pnlButton = new JPanel(); label = new JLabel(nothing); JButton btn = new JButton(“Close”); pnlButton.setLayout(new BorderLayout()); setTitle(“Motion Detector”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout()); btn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals(“Close”)) { //TO-DO } } }); WebcamPanel panel = […]