public class PreviewServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// это ваше DAO
private PreviewService previewService = Fascade.getPreviewService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("image/jpeg");
//парсим id картинки из запроса
int imageId = Integer.parseInt(request.getParameter("id"));
//Тут вы получаете Entity вашей картинки, одно из полей у которого является массивом байт
Preview preview = previewService.getByImageId(imageId);
byte[] bytes = preview.getBytes();
response.setContentLength((int) bytes.length);
// получаете поток для своих нужд
ServletOutputStream outStream = response.getOutputStream();
// отсылаете картинку на клиента
outStream.write(bytes);
// закрываете поток
outStream.close();
}
}
if(myedittext.getText().toString().equals(".")) {
// Действия
}
package application;
import java.awt.FileDialog;
import java.awt.Frame;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
// Тут необязательно наследоваться от JFrame
// Название класса должно отображать его предназаначение
public class BookReader {
// поля должны быть приватными
private FileDialog fileDialog;
private BookReaderCallback callback;
// Вложенный интерфейс обратного вызова
public interface BookReaderCallback {
// метод будет вызван, когда текстовый файл будет успешно прочитан до конца
void onReadComplete(String text);
}
// В конструктор передаем фрейм родителя
// не обязательно его инстанцировать в этом классе
public BookReader(Frame parent) {
fileDialog = new FileDialog(parent, "Select book", FileDialog.LOAD);
}
//А название метода должно отображать его действие или результат действия
public void readBook() {
// show() deprecated поэтому вызываем "setVisible"
fileDialog.setVisible(true);
if (fileDialog.getDirectory() == null || fileDialog.getFile() == null) {
return;
}
Scanner in = null;
String text = "";
try {
in = new Scanner(new File(fileDialog.getDirectory(),
fileDialog.getFile()));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while (in.hasNext()) {
text += in.nextLine() + "\n";
}
in.close();
// прочитали файл и теперь через обьект класса обраьтного вызова
//нотифицируем вызывающий класс о том что текст прочитан и передаем ему результат
if (callback != null) {
callback.onReadComplete(text);
}
}
//"ceттер" для экземпляра обратного вызова
public void setCallback(BookReaderCallback callback) {
this.callback = callback;
}
}
package application;
import java.awt.Button;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class JFrameCreator {
public static void main(String[] args) {
createGUI();
}
public static void createGUI() {
try {
UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());
} catch (InstantiationException | IllegalAccessException| ClassNotFoundException | UnsupportedLookAndFeelException e) {
// Игнорируем
}
JPanel content = new JPanel(new FlowLayout());
// вместо Label для текста стоит бы использовать TextArea(Label - для короткого однострочного текста),
JTextArea textArea = new JTextArea();
textArea.setText("Пока пусто...");
Button btnOpenFileDialog = new Button("Browse");
content.add(btnOpenFileDialog);
content.add(textArea);
JFrame frame = new JFrame("LIBRARY");
frame.setContentPane(content);
frame.setPreferredSize(new Dimension(300, 200));
frame.pack();
// центрируем относительно экрана
frame.setLocationRelativeTo(null);
// навешиваем слушатель на кнопку
// это плохой пример, скорее всего нужно навесить KeyListener, но лень имплементировать три метода
btnOpenFileDialog.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// создаем обьект BookReader
BookReader bookReader = new BookReader(frame);
// передаем ему экземпляр BookReaderCallback в виде анонимного класса
bookReader.setCallback(new BookReader.BookReaderCallback() {
// метод будет вызван из класса BookReader как только файл будет прочитан
@Override
public void onReadComplete(String text) {
// меняем текст в Label
textArea.setText(text);
}
});
// запускаем "читалку" :)
bookReader.readBook();
}
});
frame.setVisible(true);
}
}
price.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("Price text: " + price.getText());
}
@Override
public void keyPressed(KeyEvent e) {
}
});
package application;
import java.awt.Font;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
// Этот клас может создавать нужные вам меню
public class MenuCreator {
public JMenuBar createMenuBar() {
// Create menuBar
JMenuBar menuBar = new JMenuBar();
return menuBar;
}
public JMenu createMenu() {
// Create font
Font font = new Font("Verdana", Font.PLAIN, 11);
// Create File Menu
JMenu fileMenu = new JMenu("File");
fileMenu.setFont(font);
return fileMenu;
}
}
package application;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
// в этом классе у вас происходит создание фрейма и всякая другая логика
public class MyMainClassWithJFrame {
public static void main(String[] args) {
// ваш какой-то код...
JFrame frame = new JFrame();
// создаем обьект MenuCreator
// теперь мы можем создавать необходимые меню
MenuCreator menuCreator = new MenuCreator();
// создаем новый обьект JMenuBar
JMenuBar menuBar = menuCreator.createMenuBar();
frame.setJMenuBar(menuBar);
frame.setPreferredSize(new Dimension(800, 600));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
// ваш какой-то код..
}
}