View Full Version : سوال: استفاده از Jscrollbar در Jpanel
musajava
پنج شنبه 07 خرداد 1394, 13:13 عصر
سلام ببخشید چگونه می شود از Jscrollbar در Jpanel استفاده کرد؟
محمد فدوی
جمعه 08 خرداد 1394, 14:23 عصر
سلام.
سؤالتون اصلا گویا نیست. قبلا هم گفتم بهتره بیشترین جزئیات و حتی در همراه با کد سؤالتون رو مطرح کنید. نه توی یه جملهی گنگ.
برای استفاده از JScrollBar میتونید یه شیء ازش بسازید و توی هر Container دلخواهی استفادهش کنید و JPanel هم استثناء نیست.
همچنین معمولا مستقیما با JScrollBar کار نمیکنیم و به جاش از یه شیء JScrollPane استفاده میکنیم...
اگه توضیحات بیشتری نیاز دارید بهتره جزئیات بیشتری از سؤالتون رو مطرح کنید.
musajava
یک شنبه 10 خرداد 1394, 18:22 عصر
در این برنامه تعداد 52 عکس باید در کنار هم نمایش داده شوند که تنها تعداد کمی از انها در صفحه جا می شوند. من از JScrollBar استفاده کردم ولی جواب نداد. چطور باید استفاده کنم؟ (البته در برنامه ی اصلی عکس ها متفاوت ولی هم اندازه هستند).
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.WindowConstants;
import sun.awt.VerticalBagLayout;
public class We_banner extends JPanel
{
private JButton ok=new JButton("select & finish");
private JButton back=new JButton("back");
private JButton exit=new JButton("Exit");
private ImageIcon image =new ImageIcon(getClass().getResource("sarbaz_building_1_iran.png"));
private ImageIcon images[] = new ImageIcon[52];
private JPanel imagepanel[] = new JPanel[52];
private JPanel panel = new JPanel();
private JLabel labels[]=new JLabel[52];
public We_banner()
{
setBackground(Color.LIGHT_GRAY);
panel.setLayout(new GridLayout(17, 4));
for(int i=0;i<52;i++)
{
labels[i]=new JLabel(image);
imagepanel[i]=new JPanel();
imagepanel[i].add(labels[i]);
panel.add(imagepanel[i]);
}
add(ok);
add(back);
add(exit);
add(panel);
We_banner.ButtonHandler buttonHandler = new We_banner.ButtonHandler();
ok.addActionListener(buttonHandler);
back.addActionListener(buttonHandler);
exit.addActionListener(buttonHandler);
}
private class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==back)
{}
if(e.getSource()==ok)
{}
if(e.getSource()==exit)
System.exit(0);
}
}
public static void main(String[] args)
{
We_banner iu = new We_banner();
JFrame b = new JFrame("choose the ensign");
b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.setBounds(0, 0, 1280, 770);
b.add(iu);
b.setVisible(true);
b.setResizable(false);
}
}
ahmad.mo74
دوشنبه 11 خرداد 1394, 13:16 عصر
http://barnamenevis.org/showthread.php?496517-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%B1%D9%88%DB%8C-%D8%A8%D8%B1%DA%86%D8%B3%D8%A8-%D8%AF%D8%A7%D8%AE%D9%84-%D8%AD%D9%84%D9%82%D9%87&p=2221636#post2221636
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.