Cześć wszystkim. Chciałbym do swojej aplikacji dołożyć funkcjonalność nad którą głowię się już dobrych kilka godzin. Otóż chciałbym, aby po naciśnięciu przycisku "strzalkaWDol", lub "strzalkaWGore" odpowiednio miesiąc w polu JTextField był zmniejszany lub zwiększany o jeden.
Docelowo jeszcze po osiągnięciu wartości maksymalnej lub minimalnej przez miesiąc, chciałbym aby rok był zwiększany, lub zmniejszany. Próbowałem już wielu sposobów, lecz żaden nie był poprawny. Oto część kodu, który jest odpowiedzialny za mój problem:
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class GUI extends JFrame implements ActionListener {
private static JPanel contentPane;
private static JTextField txtDataOd, txtDataDo;
private static JLabel lblWybierzPrzedzialCzasu;
private static JButton btnStrzalkaWDolLewa, btnStrzalkaWDolPrawa, btnStrzalkaWGoreLewa, btnStrzalkaWGorePrawa;
private static String dataOd;
private static String dataDo;
public static void main(String[] args) {
GUI frame = new GUI();
frame.setVisible(true);
}
private void setDate() {
Calendar calendar = Calendar.getInstance();
int miesiacPobrany = calendar.get(Calendar.MONTH);
String miesiacDoPodstawienia = null;
String rokPobrany = Integer.toString(calendar.get(Calendar.YEAR));
String ostatniDzienMiesiaca = Integer.toString(calendar.getMaximum(Calendar.DAY_OF_MONTH));
if (miesiacPobrany == 0) {
miesiacDoPodstawienia = "12";
} else if (miesiacPobrany < 10) {
miesiacDoPodstawienia = "0" + miesiacPobrany;
}
dataOd = rokPobrany + "-" + miesiacDoPodstawienia + "-" + "01";
dataDo = rokPobrany + "-" + miesiacDoPodstawienia + "-" + ostatniDzienMiesiaca;
}
public GUI() {
setDate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 410, 120);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
lblWybierzPrzedzialCzasu = new JLabel("Wybierz przedzial czasu:");
lblWybierzPrzedzialCzasu.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblWybierzPrzedzialCzasu.setBounds(10, 15, 180, 25);
contentPane.add(lblWybierzPrzedzialCzasu);
txtDataOd = new JTextField();
txtDataOd.setText(dataOd);
txtDataOd.setBounds(200, 15, 86, 25);
contentPane.add(txtDataOd);
txtDataOd.setColumns(15);
txtDataDo = new JTextField();
txtDataDo.setText(dataDo);
txtDataDo.setBounds(300, 15, 86, 25);
contentPane.add(txtDataDo);
txtDataDo.setColumns(15);
btnStrzalkaWDolLewa = new JButton("\u2193");
btnStrzalkaWDolLewa.setBounds(200, 50, 40, 15);
btnStrzalkaWDolLewa.setFont(new Font("Tahoma", Font.PLAIN, 10));
btnStrzalkaWDolLewa.addActionListener(this);
contentPane.add(btnStrzalkaWDolLewa);
btnStrzalkaWGoreLewa = new JButton("\u2191");
btnStrzalkaWGoreLewa.setFont(new Font("Tahoma", Font.PLAIN, 10));
btnStrzalkaWGoreLewa.setBounds(246, 50, 40, 15);
btnStrzalkaWGoreLewa.addActionListener(this);
contentPane.add(btnStrzalkaWGoreLewa);
btnStrzalkaWDolPrawa = new JButton("\u2193");
btnStrzalkaWDolPrawa.setFont(new Font("Tahoma", Font.PLAIN, 10));
btnStrzalkaWDolPrawa.setBounds(300, 50, 40, 15);
btnStrzalkaWGoreLewa.addActionListener(this);
contentPane.add(btnStrzalkaWDolPrawa);
btnStrzalkaWGorePrawa = new JButton("\u2191");
btnStrzalkaWGorePrawa.setFont(new Font("Tahoma", Font.PLAIN, 10));
btnStrzalkaWGorePrawa.setBounds(346, 50, 40, 15);
btnStrzalkaWGoreLewa.addActionListener(this);
contentPane.add(btnStrzalkaWGorePrawa);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
Czy byłby w stanie ktoś pomóc rozwiązać mój problem, ewentualnie naprowadzić na odpowiednią ścieżkę ? Z góry dziękuję :)