JPanel 和 JScrollPane 的问题。
//问题不好描述,就是JPanel里的内容无法完全显示,代码如下,感激不尽。importjava.awt.BorderLayout;importjava.awt.Dime...
//问题不好描述,就是JPanel 里的内容无法完全显示,代码如下,感激不尽。
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.ArrayList;
import javax.swing.*;
public class SimpleTest {
public static void main(String args[])
{
JFrame mainFrame = new JFrame();
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setBounds(1000, 60, 300, 600);
JButton addContactBtn = new JButton("add");
JButton informationBtn = new JButton("info");
JButton newsBtn = new JButton("news");
JLabel titleLabel = new JLabel(new ImageIcon("title.jpg"));
titleLabel.setSize(300, 200);
JPanel titlePanel = new JPanel();
titlePanel.add(informationBtn);
titlePanel.add(titleLabel);
titleLabel.add(addContactBtn);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
JScrollPane mainScroll = new JScrollPane(mainPanel);
mainPanel.setPreferredSize(new Dimension(300, 400));
mainScroll.setSize(300, 200);
ArrayList<JLabel> contacts= new ArrayList<JLabel>();
for (int i = 0; i < 10; i++)
{
JLabel temp = new JLabel("Contact" + i, new ImageIcon("contact.jpg"), JLabel.HORIZONTAL);
temp.setSize(250, 50);
contacts.add(temp);
}
mainFrame.getContentPane().add(titlePanel, BorderLayout.NORTH);
mainFrame.getContentPane().add(mainScroll, BorderLayout.SOUTH);
for (int i = 0; i < 10; i++)
{
mainPanel.add(contacts.get(i));
}
}
}
setPerferedSize在上面的代码中用过了,滚动条出现了,不过滚不动,跟没有一样。
happy_crow兄说的我已经知道了,我问的不是这个....... 展开
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.ArrayList;
import javax.swing.*;
public class SimpleTest {
public static void main(String args[])
{
JFrame mainFrame = new JFrame();
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setBounds(1000, 60, 300, 600);
JButton addContactBtn = new JButton("add");
JButton informationBtn = new JButton("info");
JButton newsBtn = new JButton("news");
JLabel titleLabel = new JLabel(new ImageIcon("title.jpg"));
titleLabel.setSize(300, 200);
JPanel titlePanel = new JPanel();
titlePanel.add(informationBtn);
titlePanel.add(titleLabel);
titleLabel.add(addContactBtn);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
JScrollPane mainScroll = new JScrollPane(mainPanel);
mainPanel.setPreferredSize(new Dimension(300, 400));
mainScroll.setSize(300, 200);
ArrayList<JLabel> contacts= new ArrayList<JLabel>();
for (int i = 0; i < 10; i++)
{
JLabel temp = new JLabel("Contact" + i, new ImageIcon("contact.jpg"), JLabel.HORIZONTAL);
temp.setSize(250, 50);
contacts.add(temp);
}
mainFrame.getContentPane().add(titlePanel, BorderLayout.NORTH);
mainFrame.getContentPane().add(mainScroll, BorderLayout.SOUTH);
for (int i = 0; i < 10; i++)
{
mainPanel.add(contacts.get(i));
}
}
}
setPerferedSize在上面的代码中用过了,滚动条出现了,不过滚不动,跟没有一样。
happy_crow兄说的我已经知道了,我问的不是这个....... 展开
5个回答
展开全部
mainFrame.setVisible(true); 这一句放在最后
先把frame的属性设置完毕,该添加的组件添加完了,再执行mainFrame.setVisible(true);
这样,就不存在刷新的问题了
先把frame的属性设置完毕,该添加的组件添加完了,再执行mainFrame.setVisible(true);
这样,就不存在刷新的问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
yangyu125 高人啊
解决了我出现的问题,在此感谢!
解决了我出现的问题,在此感谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询