所以,我把你的断章取义的代码,拼凑成一个可运行的变体…没有问题。这表明问题出在你没有告诉我们的代码中。与其发布不完整代码的“片段”(这会引发更多问题),不如发布
Minimal, Complete, and Verifiable example
可以编译和运行,这说明了你所面临的问题。
一个运行和工作的例子…
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
DrawingPanel panel = new DrawingPanel();
JFrame frame = new JFrame("Hex Testing 4");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = frame.getContentPane();
JPanel aggregationFrame = new JPanel(new GridBagLayout());
aggregationFrame.add(panel);
aggregationFrame.add(new JLabel("Enter username:"));
content.add(aggregationFrame);
//this.add(panel); -- cannot be done in a static context
//for hexes in the FLAT orientation, the height of a 10x10 grid is 1.1764 * the width. (from h / (s+t))
frame.pack();
//frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class DrawingPanel extends JPanel {
//mouse variables here
//Point mPt = new Point(0,0);
private int width = 200;
private int height = 200;
public DrawingPanel() {
setBackground(Color.BLACK);
// MyMouseListener ml = new MyMouseListener();
// addMouseListener(ml);
}
public Dimension getPreferredSize() {
return new Dimension(width, height);
}
}
}