Здравствуйте, я хочу создать программу, которая принимает информацию и отображает ее по изображению в настраиваемом месте или точках, которые я установил для него. Я пробовал разные вещи, но они не работают или не отображают рамку. В принципе, мне интересно, как добавить текст поверх изображения. Благодаря!Как добавить текст поверх изображения в JFrame?
/*
* This program will ask information to be displayed in four different pieces of documentation.
*/
package choice.assignment;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/*
* @author Talha
*/
public class ChoiceAssignment extends JFrame {
public static void main(String[] args) {
String option = JOptionPane.showInputDialog("Enter the type of document you want to receive:");
if ("passport".equals(option)) {
String country = JOptionPane.showInputDialog(null, "Which country's passport would you like?");
String name = JOptionPane.showInputDialog(null, "What is you name?");
String countryOfOrigin = JOptionPane.showInputDialog(null, "What is you country of origin?");
String dateOfBirth = JOptionPane.showInputDialog(null, "What is your date of birth?");
new ChoiceAssignment().getPassport(option, country, name, countryOfOrigin, dateOfBirth);
}
}
public void getPassport(String option, String country, String name, String countryOfOrigin, String dateOfBirth) {
if ("usa".equals(country)) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JLabel label = new JLabel();
frame.setTitle("USA Passport");
frame.setSize(300, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
label.setIcon(new ImageIcon("uspassport.jpg"));
panel.add(label);
frame.add(panel);
frame.validate();
}
}
Ваш комментарий не имеет смысла. Swing нарисует ярлык своим значком, а затем все дочерние компоненты, добавленные в ярлык. Обратите внимание, что мой код использует две метки? Если у вас есть проблемы, обновите свой код с помощью надлежащего [SSCCE] (http://sscce.org/), который демонстрирует проблему. Это для вашего вопроса вам нужен JFrame, JLabel с изображением и JLabel с текстом. Добавьте метку с текстом на ярлык с изображением, как показано выше. Затем добавьте метку с изображением в рамку. «SSCCE» будет содержать около 10-15 строк кода для проверки концепции – camickr