Witam, chcialbyc dolaczyc do kontenera scrolla, tak aby w TextArea mozna zobaczyc cala prezentowana tresc. Ogolnie cos nie dziala, postepowalem zgodnie ze wskazaniami kilku zrodel, ale jak widac nie wychodzi. Oto kod programu:
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.colorchooser.*;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
public class Pierwsza extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton guzik_losuj = null;
private JLabel label_wylosowana = null;
private JTextField field_wylosowana = null;
private JTextArea area_pokazalg = null;
private JScrollPane sp = new JScrollPane(area_pokazalg);
private JButton getGuzik_losuj() {
if (guzik_losuj == null) {
guzik_losuj = new JButton();
guzik_losuj.setBounds(new Rectangle(30, 31, 153, 33));
guzik_losuj.setText("Losuj liczbe");
guzik_losuj.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
Zad2 liczba = new Zad2();
field_wylosowana.setText(liczba.napis());
Pierwsza u = new Pierwsza();
u.przypisz(area_pokazalg);
liczba.ok(u);
// TODO Auto-generated Event stub actionPerformed()
}
});
}
return guzik_losuj;
}
private JTextField getField_wylosowana() {
if (field_wylosowana == null) {
field_wylosowana = new JTextField();
field_wylosowana.setBounds(new Rectangle(378, 23, 72, 41));
}
return field_wylosowana;
}
private JTextArea getArea_pokazalg() {
if (area_pokazalg == null) {
area_pokazalg = new JTextArea();
area_pokazalg.setBounds(new Rectangle(32, 79, 120, 75));
}
return area_pokazalg;
}
public void jest(String s)
{
area_pokazalg.setText(s);
}
public void przypisz(JTextArea siema)
{
area_pokazalg=siema;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Pierwsza thisClass = new Pierwsza();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public Pierwsza() {
super();
initialize();
}
private void initialize() {
this.setSize(600, 600);
this.setContentPane(getJContentPane());
this.setTitle("Program");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
label_wylosowana = new JLabel();
label_wylosowana.setBounds(new Rectangle(210, 33, 147, 19));
label_wylosowana.setText("Wylosowana liczba:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getGuzik_losuj(), null);
jContentPane.add(label_wylosowana, null);
jContentPane.add(getField_wylosowana(), null);
jContentPane.add(getArea_pokazalg(), null);
jContentPane.add(sp, null);
}
return jContentPane;
}
}
class Zad2{
private int liczba;
Zad2()
{
liczba = (int)(Math.random()*15+2);
}
String napis()
{
String napis = new String();
napis=String.valueOf(liczba);
return napis;
}
void ok(Pierwsza d)
{
String napiss = new String();
for(int licznik=1;liczba!=1;)
{
napiss=napiss + String.valueOf(licznik++);
if((liczba%2)==0)
{
napiss+= ", " + String.valueOf(liczba);
liczba/=2;
napiss+= ", parzyste, " + String.valueOf(liczba) + "\n";
}
else
{
napiss+= ", " + String.valueOf(liczba);
liczba=3*liczba+1;
napiss+= ", parzyste, " + String.valueOf(liczba)+ "\n";
}
}
d.jest(napiss);
}
}