+ 1
How to print my text in the same JFrame by clicking my JButton ?
Hi so I m working on a program that is a code generator that generate random codes i've setted up the user interface with a Jbutton to generate the code but I don't know how to make that JButton print the code on the same JFrame when clicked on Also as this generate random codes differents everytime this is not a simple String but a method so I would like to get the text output of that method displayed on the same JFrame where there is already my user interface by clicking on my JButton . Anybody know how to do that? I'm really struggling with that so any help is really appreciated ^^
3 odpowiedzi
+ 1
Do you want to print it in a JLabel or where else?
Also, can you please write the method so I can understand what type of method it is?
0
You can for example add a JTextArea to your frame and add the text to it.
You can make a method that return a String:
public String textMethod(){
return "blablabla";
}
If you mean you wanna output different text every time you click
you can do it like this:
public String textMethod(){
String[] arr = {"aaa","bbb","ccc","dd"};
Random rand = new Random();
int rn = rand.nextInt(arr.length);
return arr[rn];
}
And in your actionPerformed method:
String text = textMethod();
YourJTextArea.setText(text);
0
Yes if possible i'd like to print it in a JLabel but I'd also like that the user can copy/paste the text generated wich I think isn't possible in a JFrame
As for the method :
public void generateCode() {
Code nmb = new Code();
System.out.print ("Your code is "); nmb.randomNumber();nmb.randomLetterCap();nmb.randomLetter();nmb.randomLetter();nmb.randomNumber();nmb.randomLetterCap();
}
}
class Code {
public void randomNumber(){
Random rand = new Random ();
int n= rand.nextInt(100);
n+=1;
System.out.print(n);
}
public void randomLetter(){
Random rand1 = new Random ();
char c = (char)(rand1.nextInt(26)+'a');
System.out.print(c);
}
public void randomLetterCap(){
String myString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random randomNumbero = new Random();
for (int i = 0; i < 1; i++) {
int randomNo = randomNumbero.nextInt(myString.length());
Character character = myString.charAt(randomNo);
System.out.print(Character.toUpperCase(character));
}
}
}