【发布时间】:2014-03-14 10:36:54
【问题描述】:
所以我有两个类,一个负责创建 JPanel 并覆盖绘制。另一个包含主要并使用这个其他类。为了方便起见,我删除了图形中不涉及的内容。第一个是 JPanel 和绘画。第二个是主要的。对于任何糟糕的结构或混乱,我深表歉意,我相对较新,我只是把东西扔进去看看有什么用。油漆中的东西只是一个测试,它不是主要目标。
public class PokerTable extends JPanel {
private static final int WIDTH = 800;
private static final int HEIGHT = WIDTH * 3 / 4;
private static final String NAME = "Test";
private JFrame frame = new JFrame(NAME);
public PokerTable() {
//frame.setMinimumSize(new Dimension(WIDTH,HEIGHT));
//frame.setMaximumSize(new Dimension(WIDTH,HEIGHT));
frame.setPreferredSize(new Dimension(WIDTH,HEIGHT));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setBackground(Color.GREEN);
g2d.setColor(Color.RED);
g2d.fillOval(0, 0, 30, 30);
}
}
下一个不仅仅是调用 PokerTable,但我忽略了其他部分,因为它们依赖于其他类,只是打印到控制台。
public class Poker{
public static void main(String[]args) {
System.out.println("hello");
PokerTable pt = new PokerTable();
pt.repaint();
}
我不一定期望它能够工作,我已经将 PokerTable 上的扩展更改为 Canvas 和 JFrame,但没有任何运气。
【问题讨论】:
标签: java swing layout jpanel repaint