Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MainFrame extends JFrame
{
private String win1, win2;
JTextField snow;
JTextField rain;
JTextField silk;
JTextField fool;
JTextField green;
JTextField stack;
JTextField stack2;
JTextField stack3;
JTextField stack4;
JTextField stack5;
JTextField stackHerb;
JFrame window;
JTextField herbResult;
JFrame herbalisims;
JFrame mineore;
JRadioButtonMenuItem herb;
JRadioButtonMenuItem mine;
public MainFrame(String title)
{
JMenuBar file = new JMenuBar();
file.add(fileMenu());
file.add(proMenu());
file.add(aboutMenu());
setJMenuBar(file);
setTitle(title);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window();
pack();
setVisible(true);
}
public JMenu proMenu()
{
JMenu mode = new JMenu("Mode");
JRadioButtonMenuItem herb = new JRadioButtonMenuItem("Herbalisim");
herb.setMnemonic(KeyEvent.VK_U);
herb.addActionListener(new MenuClick());
mode.add(herb);
mode.addSeparator();
JRadioButtonMenuItem mine = new JRadioButtonMenuItem("Mine");
mine.setMnemonic(KeyEvent.VK_U);
mine.addActionListener(new MenuClick());
mode.add(mine);
return mode;
}
public JMenu aboutMenu()
{
JMenu about = new JMenu("Info");
JMenuItem creator = new JMenuItem("About");
creator.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null, "This program is brought to you by Aznboy @ Ownedcore.com");
}
});
about.add(creator);
return about;
}
public class MenuClick implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(herb.isSelected())
{
mineore.setVisible(false);
herbalisims.setVisible(true);
JOptionPane.showMessageDialog(null, "Currently not avaliable. Updating soon.");
}
if(mine.isSelected())
{
herbalisims.setVisible(false);
mineore.setVisible(true);
JOptionPane.showMessageDialog(null, "Currently not avaliable. Updating soon.");
}
}
}
public JMenu fileMenu()
{
JMenu menu = new JMenu("File");
JMenuItem save = new JMenuItem("Save");
save.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("File has been saved");
}
});
menu.add(save);
menu.addSeparator();
JMenuItem close = new JMenuItem("Close");
close.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
System.out.println("File has been closed");
}
});
menu.add(close);
return menu;
}
public void mineWindow()
{
JFrame mineore = new JFrame();
JPanel mine = new JPanel();
mine.setLayout(new GridLayout(12,2));
mine.setBorder(BorderFactory.createTitledBorder("Raw Stack of ore"));
mineore.add(mine);
add(mine, BorderLayout.WEST);
}
public void window()
{
JFrame herbalisims = new JFrame();
JPanel herb = new JPanel();
herb.setLayout(new GridLayout(12,2));
herb.setBorder(BorderFactory.createTitledBorder("Raw Stack Herb"));
final JTextField fool = new JTextField();
final JTextField stack5 = new JTextField();
final JTextField snow= new JTextField();
final JTextField stack = new JTextField();
final JTextField green = new JTextField();
final JTextField stack2 = new JTextField();
final JTextField rain = new JTextField();
final JTextField stack3 = new JTextField();
final JTextField silk = new JTextField();
final JTextField stack4 = new JTextField();
JPanel result = new JPanel();
result.setLayout(new GridLayout(12,2));
result.setBorder(BorderFactory.createTitledBorder("Result"));
final JTextField herbResult = new JTextField();
final JTextField mininscriptionResult = new JTextField();
final JTextField minenchantResult = new JTextField();
final JTextField maxenchantResult = new JTextField();
final JTextField maxinscriptionResult = new JTextField();
JPanel inscription = new JPanel();
inscription.setLayout(new GridLayout(12,2));
final JTextField stackHerb = new JTextField();
final JTextField price = new JTextField();
final JTextField min = new JTextField();
final JTextField max = new JTextField();
final JTextField mist = new JTextField();
final JTextField mistpro = new JTextField();
final JTextField stragold = new JTextField();
JButton calculate = new JButton("Calculate Inscription");
JButton calculateRaw = new JButton("Calculate Herbalisim");
herb.add(new JLabel("Stack of SnowLily: ", JLabel.RIGHT));
herb.add(snow);
snow.setText("0");
herb.add(new JLabel("Price per stack: ",JLabel.RIGHT));
herb.add(stack);
stack.setText("0");
herb.add(new JLabel("Stack of Green Leaf Tea: ", JLabel.RIGHT));
herb.add(green);
green.setText("0");
herb.add(new JLabel("Price per stack: ", JLabel.RIGHT));
herb.add(stack2);
stack2.setText("0");
stack.setText("0");
herb.add(new JLabel("Stack of Rain Poppy: ", JLabel.RIGHT));
herb.add(rain);
rain.setText("0");
herb.add(new JLabel("Price per stack: ", JLabel.RIGHT));
herb.add(stack3);
stack3.setText("0");
herb.add(new JLabel("Stack of Silkweed: ", JLabel.RIGHT));
herb.add(silk);
silk.setText("0");
herb.add(new JLabel("Price per stack: ", JLabel.RIGHT));
herb.add(stack4);
stack4.setText("0");
herb.add(new JLabel("Stack of Fool's Cap:", JLabel.RIGHT));
herb.add(fool);
fool.setText("0");
herb.add(new JLabel("Price per stack: ", JLabel.RIGHT));
herb.add(stack5);
stack5.setText("0");
herb.add(calculateRaw);
calculateRaw.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String input,input2,input3,input4,input5,input6,input7,input8,input9,input10;
double herb,herb2,herb3,herb4,herb5;
double gold,gold2,gold3,gold4,gold5;
double price,price2,price3,price4,price5;
double total, totalStack;
input = snow.getText();
input2 = stack.getText();
input3 = green.getText();
input4 = stack2.getText();
input5 = rain.getText();
input6 = stack3.getText();
input7 = silk.getText();
input8 = stack4.getText();
input9 = fool.getText();
input10 = stack5.getText();
herb = Double.parseDouble(input);
gold = Double.parseDouble(input2);
herb2 = Double.parseDouble(input3);
gold2 = Double.parseDouble(input4);
herb3 = Double.parseDouble(input5);
gold3 = Double.parseDouble(input6);
herb4 = Double.parseDouble(input7);
gold4 = Double.parseDouble(input8);
herb5 = Double.parseDouble(input9);
gold5 = Double.parseDouble(input10);
price = herb * gold;
price2 = herb2 * gold2;
price3 = herb3 * gold3;
price4 = herb4 * gold4;
price5 = herb5 * gold5;
total = price + price2 + price3 + price4 + price5;
totalStack = herb + herb2 + herb3 + herb4 + herb5;
win1 = Double.toString(total);
win2 = Double.toString(totalStack);
herbResult.setText("Gold: " + win1);
stackHerb.setText(win2);
}
});
inscription.add(new JLabel("Number of Stack: ", JLabel.RIGHT));
inscription.add(stackHerb);
stackHerb.setText("0");
stackHerb.setEditable(false);
inscription.setBorder(BorderFactory.createTitledBorder("Inscription"));
inscription.add(new JLabel("Minimum of Ink of Dream: ",JLabel.RIGHT));
inscription.add(min);
min.setText("0");
min.setEditable(false);
inscription.add(new JLabel("Maximum of Ink of Dream: ", JLabel.RIGHT));
inscription.add(max);
max.setText("0");
max.setEditable(false);
inscription.add(new JLabel("Price for each Ink of Dream: ", JLabel.RIGHT));
inscription.add(price);
price.setText("0");
inscription.add(new JLabel("Number of Misty Pigment(if mill)", JLabel.RIGHT));
inscription.add(mist);
mist.setText("0");
inscription.add(new JLabel("Number of Starlight ink", JLabel.RIGHT));
inscription.add(mistpro);
mistpro.setEditable(false);
mistpro.setText("0");
inscription.add(new JLabel("Price fo each Starlight ink: ", JLabel.RIGHT));
inscription.add(stragold);
stragold.setText("0");
inscription.add(new JLabel(" ", JLabel.RIGHT));
inscription.add(new JLabel(" ", JLabel.RIGHT));
inscription.add(new JLabel(" ", JLabel.RIGHT));
inscription.add(new JLabel(" ", JLabel.RIGHT));
inscription.add(new JLabel(" ", JLabel.RIGHT));
inscription.add(calculate);
calculate.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String sinput1, sinput2, sinput3, sinput4;
double sprice, sprice2, sprice3, sprice4;
double minimum, maximum, numstar, enchantMats, enchantMats2, minnumber, maxnumber;
String sinsrciptioninput, sinscriptioninput2, numberstar, enchantprofit, enchantprofit2, maxprofit, minprofit;
sinput1 = stackHerb.getText();
sprice = Double.parseDouble(sinput1);
minimum = ((sprice * 4)*2)/2;
maximum = ((sprice * 4)*3)/2;
sinsrciptioninput = Double.toString(minimum);
sinscriptioninput2 = Double.toString(maximum);
min.setText(sinsrciptioninput);
max.setText(sinscriptioninput2);
sinput2 = price.getText();
sprice2 = Double.parseDouble(sinput2);
sinput3 = mist.getText();
sprice3 = Double.parseDouble(sinput3);
numstar = sprice3/2;
numberstar = Double.toString(numstar);
mistpro.setText(numberstar);
sinput4 = stragold.getText();
sprice4 = Double.parseDouble(sinput4);
enchantMats = (minimum/3)*18;
enchantMats2 = (maximum/3)*18;
enchantprofit = Double.toString(enchantMats);
enchantprofit2 = Double.toString(enchantMats2);
minenchantResult.setText("Gold: " + enchantprofit);
maxenchantResult.setText("Gold: " + enchantprofit2);
minnumber = (numstar * sprice4) + (minimum * sprice2);
maxnumber = (numstar * sprice4) + (maximum * sprice2);
minprofit = Double.toString(minnumber);
maxprofit = Double.toString(maxnumber);
mininscriptionResult.setText("Gold: " + minprofit);
maxinscriptionResult.setText("Gold: " + maxprofit);
}
});
result.add(new JLabel("Herb Result: ", JLabel.RIGHT));
result.add(herbResult);
herbResult.setEditable(false);
herbResult.setText("Gold: " + "0");
repaint();
result.add(new JLabel("Minimum Inscription Result: ", JLabel.RIGHT));
result.add(mininscriptionResult);
mininscriptionResult.setEditable(false);
mininscriptionResult.setText("0");
result.add(new JLabel("Maximum Inscription Result: ", JLabel.RIGHT));
result.add(maxinscriptionResult);
maxinscriptionResult.setEditable(false);
maxinscriptionResult.setText("0");
result.add(new JLabel("Minimum Enchant Result(if vendoring BoP): ", JLabel.RIGHT));
result.add(minenchantResult);
minenchantResult.setText("0");
minenchantResult.setEditable(false);
result.add(new JLabel("Maximum Enchant Result(if vendoring BoP): ", JLabel.RIGHT));
result.add(maxenchantResult);
maxenchantResult.setText("0");
maxenchantResult.setEditable(false);
herbalisims.add(herb);
add(herb, BorderLayout.WEST);
add(inscription, BorderLayout.CENTER);
add(result, BorderLayout.EAST);
}
public static void main(String[] args)
{
new MainFrame("Herb v2.0");
}
}