Cześć
mam problem z dokończeniem aplikacji okienkowej. Na początku stworzyłam sobie całe okienko (JFrame, JLabel, JText, JButton, JtextArea) a później stworzyłam akcję do buttona i tam chciałam wkleić mój program właściwy, ale niestety wyskakuje mi błąd "textAliczby cannot be resolved".
Ogólnie program ma pobierać od użytkownika ilu cyfrowe chce liczby do zmiennej N. Następnie ma wypisywać wszystkie liczby, które spełniają warunek, że jeśli skreślimy ostatnią cyfrę z liczby to tak nowo utworzona liczba dzieli pierwotną liczbę bez reszty np. dla liczb dwucyfrowych (N=2) na pewno będzie to liczba 48, bo skreślamy 8 i zostaje nam 4 co daje nam 48/4=12 (czyli bez reszty).
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.Font;
import java.awt.Window.Type;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Dimension;
import javax.swing.JTextField;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.AbstractAction;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import java.awt.event.ActionListener;
public class test3 extends JFrame
{
private JPanel contentPane;
private JTextField textFcyfr;
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
test3 frame = new test3();
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public test3()
{
setTitle("Witamy w programie!");
setFont(new Font("Arial", Font.PLAIN, 12));
setBackground(Color.WHITE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBackground(Color.LIGHT_GRAY);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JLabel lblcyfr = new JLabel("Wpisz ilu cyfrowe maja byc liczby:");
lblcyfr.setMaximumSize(new Dimension(50, 14));
lblcyfr.setMinimumSize(new Dimension(50, 14));
lblcyfr.setPreferredSize(new Dimension(50, 14));
lblcyfr.setSize(new Dimension(5, 15));
lblcyfr.setVerticalAlignment(SwingConstants.TOP);
textFcyfr = new JTextField();
textFcyfr.setColumns(10);
JButton btnWypisz = new JButton("Wypisz liczby");
--> btnWypisz.addActionListener(new ActionListener()
Tu się {
zaczyna public void actionPerformed(ActionEvent e)
{
int N = (int)((Double.parseDouble(textFcyfr.getText())));
int poczatek;
int ilosc=0;
String napis="";
for (int k=potega(10,N-1);k<potega(10,N);k++)
{
poczatek=k/10;
if( k%poczatek==0)
{
ilosc++;
napis+=Integer.toString(k);
napis+="\n";
}
}
textAliczby.setText(napis);
}
});
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(109)
.addComponent(textFcyfr, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addComponent(btnWypisz))
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addContainerGap()
.addComponent(textAliczby, GroupLayout.DEFAULT_SIZE, 404, Short.MAX_VALUE))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addComponent(lblcyfr, GroupLayout.PREFERRED_SIZE, 192, GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(lblcyfr, GroupLayout.PREFERRED_SIZE, 14, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textFcyfr, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnWypisz)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(textAliczby, GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
.addContainerGap())
);
contentPane.setLayout(gl_contentPane);
}
public static int potega(int a, int b)
{
int wynik=1;
for(int i=b; i>0; i--){
wynik*=a;
}
return wynik;
}
}