62,628
社区成员
发帖
与我相关
我的任务
分享
public class Test extends JFrame {
private static final long serialVersionUID=20101231L;
public Test() {
Container container=this.getContentPane();
container.setBackground(Color.RED);
this.setSize(265, 500);
JPanel panelA=new JPanel(new GridLayout(1,4));
panelA.setOpaque(false);
container.add(panelA,BorderLayout.NORTH);
JLabel labelA=new JLabel("aa");
labelA.setOpaque(true);
labelA.setBackground(Color.LIGHT_GRAY);
labelA.addMouseListener(new TestListener());
panelA.add(labelA);
JLabel labelB=new JLabel("bb");
labelB.setOpaque(true);
labelB.setBackground(Color.LIGHT_GRAY);
labelB.addMouseListener(new TestListener());
panelA.add(labelB);
JLabel labelC=new JLabel("cc");
labelC.setOpaque(true);
labelC.setBackground(Color.LIGHT_GRAY);
labelC.addMouseListener(new TestListener());
panelA.add(labelC);
JLabel labelD=new JLabel("dd"); //此label后面会有非常小的一段背景色显示出来,有什么好的方法能让这几个label横向填满窗体吗?
labelD.setOpaque(true);
labelD.setBackground(Color.LIGHT_GRAY);
labelD.addMouseListener(new TestListener());
panelA.add(labelD);
JPanel panelB=new JPanel();
panelB.setBackground(Color.WHITE);
container.add(panelB, BorderLayout.CENTER);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class TestListener extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.GRAY);
}
public void mouseExited(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.LIGHT_GRAY);
}
}
public static void main(String[] args) {
new Test();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test2 extends JFrame {
private static final long serialVersionUID=20101231L;
public Test2() {
Container container=this.getContentPane();
container.setBackground(Color.RED);
this.setSize(265, 500);
final JPanel panelA=new JPanel(null);
panelA.setPreferredSize(new Dimension(0,30));
panelA.setOpaque(false);
container.add(panelA,BorderLayout.NORTH);
final JLabel labelA=new JLabel("aa");
labelA.setOpaque(true);
labelA.setBackground(Color.LIGHT_GRAY);
labelA.addMouseListener(new TestListener());
panelA.add(labelA);
final JLabel labelB=new JLabel("bb");
labelB.setOpaque(true);
labelB.setBackground(Color.LIGHT_GRAY);
labelB.addMouseListener(new TestListener());
panelA.add(labelB);
final JLabel labelC=new JLabel("cc");
labelC.setOpaque(true);
labelC.setBackground(Color.LIGHT_GRAY);
labelC.addMouseListener(new TestListener());
panelA.add(labelC);
final JLabel labelD=new JLabel("dd");
labelD.setOpaque(true);
labelD.setBackground(Color.LIGHT_GRAY);
labelD.addMouseListener(new TestListener());
panelA.add(labelD);
panelA.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
int width=panelA.getSize().width/4;
int residue=panelA.getSize().width%4;
labelA.setBounds(0, 0, width, 30);
labelB.setBounds(width, 0, width, 30);
labelC.setBounds(width*2, 0, width, 30);
labelD.setBounds(width*3, 0, width+residue, 30);
}
});
JPanel panelB=new JPanel();
panelB.setBackground(Color.WHITE);
container.add(panelB, BorderLayout.CENTER);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class TestListener extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.GRAY);
}
public void mouseExited(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.LIGHT_GRAY);
}
}
public static void main(String[] args) {
new Test2();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test2 extends JFrame {
private static final long serialVersionUID=20101231L;
public Test2() {
Container container=this.getContentPane();
container.setBackground(Color.RED);
this.setSize(265, 500);
final JPanel panelA=new JPanel(null);
panelA.setPreferredSize(new Dimension(0,30));
panelA.setOpaque(false);
container.add(panelA,BorderLayout.NORTH);
final JLabel labelA=new JLabel("aa");
labelA.setOpaque(true);
labelA.setBackground(Color.LIGHT_GRAY);
labelA.addMouseListener(new TestListener());
panelA.add(labelA);
final JLabel labelB=new JLabel("bb");
labelB.setOpaque(true);
labelB.setBackground(Color.LIGHT_GRAY);
labelB.addMouseListener(new TestListener());
panelA.add(labelB);
final JLabel labelC=new JLabel("cc");
labelC.setOpaque(true);
labelC.setBackground(Color.LIGHT_GRAY);
labelC.addMouseListener(new TestListener());
panelA.add(labelC);
final JLabel labelD=new JLabel("dd");
labelD.setOpaque(true);
labelD.setBackground(Color.LIGHT_GRAY);
labelD.addMouseListener(new TestListener());
panelA.add(labelD);
panelA.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
int width=panelA.getSize().width/4;
int residue=panelA.getSize().width%4;
labelA.setBounds(0, 0, width, 30);
labelB.setBounds(width, 0, width, 30);
labelC.setBounds(width*2, 0, width, 30);
labelD.setBounds(width*3, 0, width+residue, 30);
}
});
JPanel panelB=new JPanel();
panelB.setBackground(Color.WHITE);
container.add(panelB, BorderLayout.CENTER);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class TestListener extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.GRAY);
}
public void mouseExited(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.LIGHT_GRAY);
}
}
public static void main(String[] args) {
new Test2();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test2 extends JFrame {
private static final long serialVersionUID=20101231L;
public Test2() {
Container container=this.getContentPane();
container.setBackground(Color.RED);
this.setSize(265, 500);
final JPanel panelA=new JPanel(null);
panelA.setPreferredSize(new Dimension(0,30));
panelA.setOpaque(false);
container.add(panelA,BorderLayout.NORTH);
final JLabel labelA=new JLabel("aa");
labelA.setOpaque(true);
labelA.setBackground(Color.LIGHT_GRAY);
labelA.addMouseListener(new TestListener());
panelA.add(labelA);
final JLabel labelB=new JLabel("bb");
labelB.setOpaque(true);
labelB.setBackground(Color.LIGHT_GRAY);
labelB.addMouseListener(new TestListener());
panelA.add(labelB);
final JLabel labelC=new JLabel("cc");
labelC.setOpaque(true);
labelC.setBackground(Color.LIGHT_GRAY);
labelC.addMouseListener(new TestListener());
panelA.add(labelC);
final JLabel labelD=new JLabel("dd");
labelD.setOpaque(true);
labelD.setBackground(Color.LIGHT_GRAY);
labelD.addMouseListener(new TestListener());
panelA.add(labelD);
panelA.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
int width=panelA.getSize().width/4;
int residue=panelA.getSize().width%4;
labelA.setBounds(0, 0, width, 30);
labelB.setBounds(width, 0, width, 30);
labelC.setBounds(width*2, 0, width, 30);
labelD.setBounds(width*3, 0, width+residue, 30);
}
});
JPanel panelB=new JPanel();
panelB.setBackground(Color.WHITE);
container.add(panelB, BorderLayout.CENTER);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class TestListener extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.GRAY);
}
public void mouseExited(MouseEvent e) {
JLabel label=(JLabel)e.getSource();
label.setBackground(Color.LIGHT_GRAY);
}
}
public static void main(String[] args) {
new Test2();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test2 extends JFrame {
private static final long serialVersionUID = 20101231L;
public Test2() {
Container container = this.getContentPane();
container.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
container.setBackground(Color.RED);
this.setSize(265, 500);
JPanel panelA = new JPanel();
panelA.setLayout(new GridBagLayout());
panelA.setPreferredSize(new Dimension(0, 30));
panelA.setOpaque(false);
c.fill = GridBagConstraints.BOTH;
c.weightx = 1;
c.weighty = 1;
c.gridy = 0;
c.ipady = 30;
container.add(panelA, c);
JPanel panelB = new JPanel();
panelB.setBackground(Color.WHITE);
c.weighty = 30;
c.gridy = 1;
c.ipady = 1500;
container.add(panelB, c);
JLabel labelA = new JLabel("aa");
labelA.setOpaque(true);
labelA.setBackground(Color.LIGHT_GRAY);
labelA.addMouseListener(new TestListener());
c.weighty = 1;
c.gridy = 0;
c.gridx = 0;
c.ipady = 30;
c.ipadx = 1000;
panelA.add(labelA, c);
JLabel labelB = new JLabel("bb");
labelB.setOpaque(true);
labelB.setBackground(Color.LIGHT_GRAY);
labelB.addMouseListener(new TestListener());
c.gridx = 1;
panelA.add(labelB, c);
JLabel labelC = new JLabel("cc");
labelC.setOpaque(true);
labelC.setBackground(Color.LIGHT_GRAY);
labelC.addMouseListener(new TestListener());
c.gridx = 2;
panelA.add(labelC, c);
JLabel labelD = new JLabel("dd");
labelD.setOpaque(true);
labelD.setBackground(Color.LIGHT_GRAY);
labelD.addMouseListener(new TestListener());
c.gridx = 3;
panelA.add(labelD, c);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class TestListener extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JLabel label = (JLabel) e.getSource();
label.setBackground(Color.GRAY);
}
public void mouseExited(MouseEvent e) {
JLabel label = (JLabel) e.getSource();
label.setBackground(Color.LIGHT_GRAY);
}
}
public static void main(String[] args) {
new Test2();
}
}