الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

java applet

بدأه ريحانة الاقصى في 21 فبراير 2011 · 3 رد · 431 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عند تحويل برنامج جافا الى جافا ابلت بعد اضافة import java.applet.Applet;

وتغير ما يلزم من الميثود

ظهر عندي مشكلة في عرض البرنامج سببها التحكم في حجم الفريم

حيث كنت للتحكم في الفريم وضعت الكود this.pack();

ولكن هذا الميثود غير موجود في الابلت فاستبدله ب this.setSize(500,400);

مما سبب المشاكل في اظهار الكود

الرجاء المساعدة

البرنامج في المرفقات قبل التحويل الى ابلت وهو يظهر الناتج بشكل صحيح وبعد الوضع في ابلت

rrt.java

insertion.java

#2

تفضلى اختى الكريمه

import java.util.ArrayList;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.applet.Applet;

public class rrt extends Applet implements ActionListener {

	private JTextField[] textfields = new JTextField[7];
	JPanel resultPanel = new JPanel(new GridLayout());
	ArrayList<JPanel> panels = new ArrayList<JPanel>();
	boolean isSearch = true;
	int size = 1;
	JButton b2 = new JButton("next");

	@Override
	public void init() {
    	setLayout(new BorderLayout());
    	JPanel textFieldPanel = new JPanel(new GridLayout(1, 5, 5, 5));
    	for (int i = 0; i < textfields.length; i++) {
        	JTextField field = new JTextField(3);
        	field.setText((int) (Math.random() * 10) + "");
        	textfields = field;
        	textFieldPanel.add(field);
    	}
    	textFieldPanel.setBorder(new TitledBorder(" "));
    	textFieldPanel.add(b2);
    	b2.addActionListener(this);
    	add(textFieldPanel, BorderLayout.NORTH);
	}

	public void actionPerformed(ActionEvent e) {
    	if (e.getActionCommand().equals("next")) {
        	sortAction();
    	}
	}

	private void sortAction() {
    	if (isSearch) {
        	resultPanel.removeAll();
        	GridLayout g = (GridLayout) resultPanel.getLayout();
        	g.setRows(1);
        	insertionSort();
        	isSearch = false;
        	this.setSize(getWidth(), getHeight() + panels.size() * 15);
    	}
    	resultPanel.updateUI();
    	for (int i = 0; i < size; i++) {
        	resultPanel.add(panels.get(i));
    	}
    	size++;
    	if (size > panels.size()) {
        	b2.setEnabled(false);
    	}
    	add(resultPanel, BorderLayout.CENTER);
    	validateTree();
	}

	public void insertionSort() {
    	int[] x = new int[textfields.length];
    	for (int i = 0; i < textfields.length; i++) {
        	x = Integer.parseInt(textfields.getText());
    	}
    	for (int i = 1; i < x.length; i++) {
        	for (int j = i; j > 0 && x[j - 1] > x[j]; j--) {
            	swap(x, j, j - 1);
            	printArray(x, j - 1);
        	}
    	}
	}

	public void swap(int[] x, int a, int b) {
    	int t = x[a];
    	x[a] = x;
    	x = t;
	}

	private void printArray(int[] x, int j) {
    	JPanel panel = new JPanel(new GridLayout(1, x.length));
    	for (int i = 0; i < x.length; i++) {
        	JTextField field = new JTextField(3);
        	if (i == j) {
            	field.setBackground(Color.yellow);
            	field.setFont(new Font("SansSerif", Font.BOLD, 16));
        	}
        	field.setText("" + x);
        	panel.add(field);
    	}
    	GridLayout g = (GridLayout) resultPanel.getLayout();
    	g.setRows(g.getRows() + 1);
    	panels.add(panel);
	}
}

اتمنى لكى كل تقدم ورقى

بالتوفيق ان شاء الله

Software Developer
Mahmoudkelany.com


 

#3
Mahmoud Kelany كتب:

تفضلى اختى الكريمه

import java.util.ArrayList;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.applet.Applet;

public class rrt extends Applet implements ActionListener {

	private JTextField[] textfields = new JTextField[7];
	JPanel resultPanel = new JPanel(new GridLayout());
	ArrayList<JPanel> panels = new ArrayList<JPanel>();
	boolean isSearch = true;
	int size = 1;
	JButton b2 = new JButton("next");

	@Override
	public void init() {
    	setLayout(new BorderLayout());
    	JPanel textFieldPanel = new JPanel(new GridLayout(1, 5, 5, 5));
    	for (int i = 0; i < textfields.length; i++) {
        	JTextField field = new JTextField(3);
        	field.setText((int) (Math.random() * 10) + "");
        	textfields = field;
        	textFieldPanel.add(field);
    	}
    	textFieldPanel.setBorder(new TitledBorder(" "));
    	textFieldPanel.add(b2);
    	b2.addActionListener(this);
    	add(textFieldPanel, BorderLayout.NORTH);
	}

	public void actionPerformed(ActionEvent e) {
    	if (e.getActionCommand().equals("next")) {
        	sortAction();
    	}
	}

	private void sortAction() {
    	if (isSearch) {
        	resultPanel.removeAll();
        	GridLayout g = (GridLayout) resultPanel.getLayout();
        	g.setRows(1);
        	insertionSort();
        	isSearch = false;
        	this.setSize(getWidth(), getHeight() + panels.size() * 15);
    	}
    	resultPanel.updateUI();
    	for (int i = 0; i < size; i++) {
        	resultPanel.add(panels.get(i));
    	}
    	size++;
    	if (size > panels.size()) {
        	b2.setEnabled(false);
    	}
    	add(resultPanel, BorderLayout.CENTER);
    	validateTree();
	}

	public void insertionSort() {
    	int[] x = new int[textfields.length];
    	for (int i = 0; i < textfields.length; i++) {
        	x = Integer.parseInt(textfields.getText());
    	}
    	for (int i = 1; i < x.length; i++) {
        	for (int j = i; j > 0 && x[j - 1] > x[j]; j--) {
            	swap(x, j, j - 1);
            	printArray(x, j - 1);
        	}
    	}
	}

	public void swap(int[] x, int a, int b) {
    	int t = x[a];
    	x[a] = x;
    	x = t;
	}

	private void printArray(int[] x, int j) {
    	JPanel panel = new JPanel(new GridLayout(1, x.length));
    	for (int i = 0; i < x.length; i++) {
        	JTextField field = new JTextField(3);
        	if (i == j) {
            	field.setBackground(Color.yellow);
            	field.setFont(new Font("SansSerif", Font.BOLD, 16));
        	}
        	field.setText("" + x);
        	panel.add(field);
    	}
    	GridLayout g = (GridLayout) resultPanel.getLayout();
    	g.setRows(g.getRows() + 1);
    	panels.add(panel);
	}
}

اتمنى لكى كل تقدم ورقى

بالتوفيق ان شاء الله

شكرا جزيلا جعله الله في ميزان حسناتك

#4

اعذرني اخي رح غلبك معي

هلا ف هاد الكود العناصر كلها بيكون الها نفس الحجم وعند تنفيذها على الابلت كل ما كبر الابلت بيكبر حجم العناصر فتصبح بشكل غير منتظم

هل يمكن التحكم بحجم ال text feild وان لا يتغير حجمها ولكن ان يتم التغير في حجم الjpanel الرئيسية

مواضيع مشابهة