(以下是我的代码)
public class XtremePaintballNetwork {
private static JFrame _xpbnWindow;
private static JTextField _chatTextField;
//private static Map _map;
private static Map _map;
public static void main(String[] args) {
// Set up main window
_xpbnWindow = new JFrame("Xtreme Paintball Network");
_xpbnWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
_xpbnWindow.setSize(400, 300);;
//_xpbnWindow.setBackground(Color.white);
//_xpbnWindow.getContentPane().setBackground(Color.white);
//_xpbnWindow.pack();
_xpbnWindow.setVisible(true);
addComponentsToPane();
_xpbnWindow.addComponentListener( new ComponentListener() {
public void componentHidden(ComponentEvent e) {}
public void componentMoved(ComponentEvent e){}
public void componentResized(ComponentEvent e) {
adjustBounds();
}
public void componentShown(ComponentEvent e) {}
});
_xpbnWindow.repaint();
}
private static void addComponentsToPane() {
Container pane = _xpbnWindow.getContentPane();
// Use Absolute Positioning
pane.setLayout(null);
// Create GUI components
_map = new Map();
_chatTextField = new JTextField();
// Add components to pane
pane.add(_map);
pane.add(_chatTextField);
// Calculate and set Bounds
adjustBounds();
}
private static void adjustBounds() {
Container pane = _xpbnWindow.getContentPane();
// Use 'null' layout -> Absolute Positioning
Insets insets = pane.getInsets();
Dimension _windowDimension = pane.getSize();
Dimension _chatDimension = _chatTextField.getPreferredSize();
/*_map.setBounds(0, insets.top, _windowDimension.width - insets.left - insets.right,
_windowDimension.height - insets.top - insets.bottom);*/
_map.setBounds(10, 10, 100, 100);
_chatTextField.setBounds(0, _windowDimension.height - _chatDimension.height - insets.top - insets.bottom,
_windowDimension.width - insets.left - insets.right, _chatDimension.height);
}
}
这是简单的JComponent类
public class Map extends JComponent{
//@Override
protected void PaintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(0, 0, 70, 70);
g.drawString("string",20,20);
}
}
基本上,我的问题是我的JFrame中没有任何内容......:/ Help!