如下,给我的jdialog加一个黑色的边框可以么?细细的一边就行。
没有框太丑了,但是也不要自带的那个蓝色的对话框的边,它太大。public class Test extends JDialog{
private static final long serialVersionUID = 1L;

private JPanel imgPanel;
private JPanel butPanel;
private int myw=200;
private int myh=400;
public Test(){
toFront();
setUndecorated(true);
setBounds(200,200,myw,myh);
setLayout(new BorderLayout());
setVisible(true);

imgPanel=new JPanel();
imgPanel.add(new JLabel("image"));

butPanel=new JPanel();
butPanel.setSize(myw,40);
butPanel.add(new JLabel("text"));

add(imgPanel);
add(butPanel);
}

public static void main(String[] args) {
new Test();
}
}

解决方案 »

  1.   

    butPanel.setBorder(BorderFactory.createLineBorder(Color.RED))
    你看这样可以吗?试试吧!
      

  2.   

    swing部分没看..感觉java这方面不是强项..纯支持呵
      

  3.   

    这种效果?import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Graphics;import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JPanel;public class TestDia extends JDialog{
        private static final long serialVersionUID = 1L;
        
        private JPanel imgPanel;
        private JPanel butPanel;
        private int myw=200;
        private int myh=400;
        public TestDia(){
            toFront();
            setUndecorated(true);
            setBounds(200,200,myw,myh);
            setLayout(new BorderLayout());
            setVisible(true);
            
            imgPanel=new JPanel();
            imgPanel.add(new JLabel("image"));
            
            butPanel=new JPanel();
            butPanel.setSize(myw,40);
            butPanel.add(new JLabel("text"));
            
            add(imgPanel);
            add(butPanel);
        }
        
        @Override
        public void paint(Graphics g) {
         super.paint(g);
         g.setColor(Color.BLACK);
         g.drawRect(0, 0, getWidth()-1, getHeight()-1);
        }
        
        public static void main(String[] args) {
         TestDia td = new TestDia();
         td.setVisible(true);
        }
    }