为什么我的paint画了页面 ,但是有按钮的地方不完全显示?

public class PokerFrame extends JFrame implements ActionListener{
private Dialogs dlg=new Dialogs(null);
private Dialogs1 dlg1=new Dialogs1(null);
private Dialogs2 dlg2=new Dialogs2(null);
private JMenuItem openMI, exitMI, helpMI;
private JButton b1=new JButton("洗 牌");
private JButton b2=new JButton("发 牌");
private JButton b3=new JButton("猜大");
private JButton b4=new JButton("猜小");
private JMenuBar mbar =new JMenuBar();
private JMenu fileMenu =new JMenu("菜单");
private JMenu fileMenu1 =new JMenu("关于");
public PokerFrame()
{
Panel pan= new Panel();
pan.add(b1);
pan.add(b2);
pan.add(b3);
pan.add(b4);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
JTextField tf=new JTextField(4);
Font font =new Font("Monospaced",Font.PLAIN,15);
tf.setFont(font);
JLabel lb= new JLabel("分 数:");
pan.add(lb);
lb.setFont(font);
pan.add(tf,"North");
add(pan,"East");
openMI=new JMenuItem("开始");
openMI.addActionListener(this);
fileMenu.add(openMI);
exitMI=new JMenuItem("退出");
exitMI.addActionListener(this);
fileMenu.add(exitMI);
helpMI=new JMenuItem("帮助");
helpMI.addActionListener(this);
fileMenu1.add(helpMI);
mbar.add(fileMenu);
mbar.add(fileMenu1);
setJMenuBar(mbar);
setSize(1024,730);
setTitle("天朝纸牌");
setBackground(new Color(16,146,60));
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==exitMI)
System.exit(0);
if(e.getSource()==openMI)
System.out.println("open menu item");
if(e.getSource()==helpMI)
dlg.setVisible(true);//显示对话框
if(e.getSource()==b1)
dlg1.setVisible(true);
if(e.getSource()==b2)
dlg2.setVisible(true);
repaint();

}
public void paint (Graphics g)
{
g.setColor(Color.red);
g.drawRect(37,552, 120,144);
g.drawRect(36,551, 122,146);
}
public static void main(String[] args)
{
new PokerFrame();
}
}

繁星淼淼
浏览 117回答 2
2回答

MYYA

你的代码中Dialogs、Dialogs1、Dialogs2不存在,跑不起来……理论上说,按钮是有背景的,而按钮有放置于窗体容器之上。而你在容器上绘制的东西肯定会被按钮的背景覆盖掉一部分。你可以尝试将按钮的背景设置为透明颜色

缥缈止盈

你的程序不能运行,不知道你的逻辑结构,还真不好说!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java