У меня есть класс, и в классе у меня есть три метода, которые делают то же самое, но предоставляют разные входы. Поэтому мне было интересно, есть ли способ сделать это названным меньшим.Есть ли способ сделать этот java меньшим?
Мой код;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter;
public class test {
public void methodclassA() {
int result = JOptionPane
.showOptionDialog(
null,
"How would you like you insert your data, manually or from a file? ",
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] {
"Manual", "From a File" },
JOptionPane.NO_OPTION);
if (result == JOptionPane.YES_OPTION) {
// Going to call methodA from another class
}
if (result == JOptionPane.NO_OPTION) {
JTextField NameField = new JTextField();
Object[] message = { "Path location:", NameField };
int result2 = JOptionPane.showOptionDialog(null, message,
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] { "Ok",
"Locate the file" }, JOptionPane.NO_OPTION);
}
}
public void methodclassB() {
int result = JOptionPane
.showOptionDialog(
null,
"How would you like you insert your data, manually or from a file? ",
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] {
"Manual", "From a File" },
JOptionPane.NO_OPTION);
if (result == JOptionPane.YES_OPTION) {
// Going to call methodB from another class
}
if (result == JOptionPane.NO_OPTION) {
JTextField NameField = new JTextField();
Object[] message = { "Path location:", NameField };
int result2 = JOptionPane.showOptionDialog(null, message,
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] { "Ok",
"Locate the file" }, JOptionPane.NO_OPTION);
}
}
public void methodclassC() {
int result = JOptionPane
.showOptionDialog(
null,
"How would you like you insert your data, manually or from a file? ",
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] {
"Manual", "From a File" },
JOptionPane.NO_OPTION);
if (result == JOptionPane.YES_OPTION) {
// Going to call methodB from another class
}
if (result == JOptionPane.NO_OPTION) {
JTextField NameField = new JTextField();
Object[] message = { "Path location:", NameField };
int result2 = JOptionPane.showOptionDialog(null, message,
"Inserting data", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] { "Ok",
"Locate the file" }, JOptionPane.NO_OPTION);
}
}
}
Например, мои три метода в классе: methodclassA, methodclassB, methodclassC, все они запрашивают у пользователя один и тот же ввод, но каждый метод будет вызывать другой метод из другого класса.
Спасибо заранее, и я надеюсь, что я четко объяснил.
Редактировать: Я забыл упомянуть об этом раньше, у меня есть три кнопки в моем основном классе, который вызывает каждый из этих трех методов. например, моя кнопкаA вызывает метод classA, buttonB вызывает методclassB, а buttonC вызывает метод classCassC.
не могли бы вы отформатировать свой код первым? – alex
Отформатирован код – user3248466